﻿//using System;
//using System.ComponentModel;

//namespace NLite
//{
//    [Serializable]
//    public class EventArgs<TFirst> : EventArgs
//    {
//        public TFirst First { get;private set;}
//        public EventArgs(TFirst first)
//        {
//            First = first;
//        }
//    }

//    [Serializable]
//    public class EventArgs<TFirst, TSecond> : EventArgs<TFirst>
//    {
//        public TSecond Second { get; private set;}
//        public EventArgs(TFirst first, TSecond second)
//            : base(first)
//        {
//            Second = second;
//        }
//    }

//    [Serializable]
//    public class CancelEventArgs<TFirst> : CancelEventArgs
//    {
//        public TFirst First { get;private set; }
//        public CancelEventArgs(TFirst first)
//        {
//            First = first;
//        }
//    }

//    [Serializable]
//    public class CancelEventArgs<TFirst, TSecond> : CancelEventArgs<TFirst>
//    {
//        public TSecond Second { get; private set; }
//        public CancelEventArgs(TFirst first, TSecond second)
//            : base(first)
//        {
//            Second = second;
//        }
//    }
//}
